CAPSLOCK VE NUMLOCK'U KODLA DE╨▌▐T▌RMEKVisual Basic 4.0 paketi tu■ kilitlerini de≡i■tirmek ve g÷rⁿntⁿlemek iτin "Keyboard State Control"'unu (KEYSTA32.OCX) birlikte getiriyor. Bu kontrolⁿ kullanarak ve kⁿτⁿk bir kod sat²r² yazarak program²n²z τal²■²rken CAPSLOCK, NUMLOCK ve SCROLLLOCK kilitlerini aτ²p kapayabilirsiniz.Peki program²n²z² derleyip kurulum paketinin olu■turdu≡unuzda ne olacak? ▐ⁿphesiz ilgili kontrol de uygulaman²z ile brilikte program² kurdu≡unuz sisteme kopyalanacak. Bizce bu kadar kⁿτⁿk bir i■lemi gerτekle■tiren bir kontrolⁿ kullanarak uygulaman²z² kalabal²kla■t²rmak anlams²z, ayn² i■lemi bir WIN32 API'sini kullanarak da gerτekle■tirebilirsiniz. ╓rne≡imizi uygulamak iτin ⁿzerinde ⁿτ tane komut butonu bir de etiket kontrolⁿ olan bir form olu■turun ve ilk a■amada bo■ bir BAS modⁿlⁿnⁿn General - Declarations b÷lⁿmⁿne a■a≡²daki sat²rlar² girin. Public Const VK_CAPITAL = &H14 Public Type KeyboardBytes kbByte(0 To 255) As Byte End Type Public kbArray As KeyboardBytes Public Declare Function GetKeyState Lib "user32" (ByVal nVirtKey As Long) As Long Public Declare Function GetKeyboardState Lib "user32" (kbArray As KeyboardBytes) As Long Public Declare Function SetKeyboardState Lib "user32" (kbArray As KeyboardBytes) As Long 'A■a≡²daki kodlar olu■turdu≡nuz formun 'General - Declarations b÷lⁿmⁿne girmelidir: Private Function CapsLock() As Integer CapsLock = GetKeyState(VK_CAPITAL) And 1 = 1 End Function Private Command1_Click() GetKeyboardState kbArray kbArray.kbByte(VK_CAPITAL) = IIf(kbArray.kbByte(VK_CAPITAL) = 1, 0, 1) SetKeyboardState kbArray Label1 = IIf(CapsLock() = 1, "Aτ²k", "Kapal²") End Sub Private Sub Command2_Click() GetKeyboardState kbArray kbArray.kbByte(VK_CAPITAL) = 1 SetKeyboardState kbArray Label1 = IIf(CapsLock() = 1, "Aτ²k ", "Kapal²") End Sub Private Sub Command3_Click() GetKeyboardState kbArray kbArray.kbByte(VK_CAPITAL) = 0 SetKeyboardState kbArray Label1 = IIf(CapsLock() = 1, "Aτ²k ", "Kapal²") End Sub |